package wfb.definitions;

/** Klasse zur Kapselung von Stadtdaten. */
public class CityData implements CityDataInterface {

  /** Name der Stadt. */
  private String name = null;
  /** Koordinaten - Laenge. */
  private float longitude = 0;
  /** Koordinaten - Breite. */
  private float latitude = 0;
  /** Einwohnerzahl. */
  private int inhabitants = 0;
  /** Hafenstadt (ja/nein). */
  private boolean seaport = false;
  
  /** Leerer Konstruktor - Daten muessen per set-Methoden uebergeben werden. */
  public CityData() { }
  
  /** Konstruktor, in dem alle Daten uebergeben werden.
   * @param name  Name der Stadt
   * @param longitude  Koordinaten - Laenge
   * @param latitude  Koordinaten - Breite
   * @param inhabitants  Einwohnerzahl
   * @param seaport  Hafenstadt (ja/nein)
   */
  public CityData(String name,
                  float longitude, float latitude,
                  int inhabitants, boolean seaport) {
    this.name = name;
    this.longitude = longitude;
    this.latitude = latitude;
    this.inhabitants = inhabitants;
    this.seaport = seaport;
  }

  /** Name der Stadt. */
  public String getName() {
    return name;
  }
  /** Koordinaten - Laenge. */
  public float getLongitude() {
    return longitude;
  }
  /** Koordinaten - Breite. */
  public float getLatitude() {
    return latitude;
  }
  /** Einwohnerzahl. */
  public int getInhabitants() {
    return inhabitants;
  }
  /** Hafenstadt (ja/nein). */
  public boolean isSeaport() {
    return seaport;
  }
  
  /** Name der Stadt.
   * @param name  Name der Stadt */
  public void setName(String name) {
    this.name=name;
  }
  /** Koordinaten - Laenge.
   * @param longitude  Koordinaten - Laenge */
  public void setLongitude(float longitude) {
    this.longitude=longitude;
  }
  /** Koordinaten - Breite.
   * @param latitude  Koordinaten - Breite */
  public void setLatitude(float latitude) {
    this.latitude=latitude;
  }
  /** Einwohnerzahl.
   * @param inhabitants  Einwohnerzahl */
  public void setInhabitants(int inhabitants) {
    this.inhabitants=inhabitants;
  }
  /** Hafenstadt (ja/nein).
   * @param seaport  Hafenstadt (ja/nein)  */
  public void setSeaport(boolean seaport) {
    this.seaport=seaport;
  }

	/** Name der Stadt. */
	public String toString() {
		return name;
	}
}
